//package com.fortune.conf;
//import com.alibaba.fastjson.JSONObject;
//import com.fortune.entity.NewsEntity;
//import com.fortune.mapper.NewsMapper;
//import io.github.bonigarcia.wdm.WebDriverManager;
//import org.jsoup.Jsoup;
//import org.jsoup.nodes.Document;
//import org.jsoup.nodes.Element;
//import org.jsoup.select.Elements;
//import org.openqa.selenium.*;
//import org.openqa.selenium.support.ui.ExpectedConditions;
//import org.openqa.selenium.support.ui.WebDriverWait;
//
//import java.time.Duration;
//import java.util.ArrayList;
//import java.util.Iterator;
//import java.util.List;
//import java.util.Set;
//
//public class TOUTIAOPageNewsSpider_20250427 {
//    private NewsMapper newsMapper;
//    public static void detailsPage(WebDriver driver,String titleStr){
//        NewsEntity newsEntity = new NewsEntity();
//
//        // 获取文章容器的HTML内容
//        String htmlContent = null;
//        try {
//            //普通文章
//            htmlContent = driver.findElement(By.cssSelector(".article-content")).getAttribute("innerHTML");
//        } catch (NoSuchElementException e) {
//            System.out.println("htmlContent----NoSuchElementException↓↓↓↓"+e.getMessage());
//        }
//        if(htmlContent == null){
//            //小说类型 文章 详情
//            WebElement articleElement = driver.findElement(By.tagName("article"));
//            htmlContent = driver.findElement(By.tagName("article")).getAttribute("innerHTML");
//            String contentStr = articleElement.getText();
//            titleStr = contentStr.substring(0,htmlContent.length() > 29 ? 29:htmlContent.length()-1);
//        }
//
//        htmlContent = htmlContent.replace("&amp;","&");
//        // 使用JSoup解析HTML
//        Document doc = Jsoup.parse(htmlContent);
//        // 提取图片链接（处理懒加载）
//        List<String> imageUrls = new ArrayList<>();
//        Elements imgs = doc.select("img");
//        for (Element img : imgs) {
//            // 优先取data-src（处理懒加载）
//            String src = img.attr("data-src");
//            if (src.isEmpty()) {
//                src = img.attr("src");
//            }
//            imageUrls.add(src);
//        }
//        for (int i = 0; i < imageUrls.size(); i++) {
//            String toutiaoImagePath = imageUrls.get(i);
//            String xlcImageSuffixPath = Utils.downImage(toutiaoImagePath);
//            String xlcImagePath = "https://images.xlcwx.com/xlcwx/m/community/"+xlcImageSuffixPath;
//            htmlContent = htmlContent.replace(toutiaoImagePath,xlcImagePath);
//        }
//
//        System.out.println("标题123："+ titleStr);
//        System.out.println("文章详情123："+htmlContent);
//        System.out.println("图片列表123："+ JSONObject.toJSONString(imageUrls));
//    }
//
//
//
//
//    public static void main(String[] args) throws InterruptedException {
//        String initPageUrl = "https://www.toutiao.com/";
////        String initPageUrl = "https://www.toutiao.com/w/1829926500835331/?log_from=b179e1392891f8_1745658538472";
//        // 自动配置浏览器驱动
//        WebDriverManager.chromedriver().setup();
//        WebDriver driver = new ChromeDriverUtil().getWebDriver();
//        driver.get(initPageUrl);
//
//        if(!("https://www.toutiao.com/".equals(initPageUrl))){
//            detailsPage(driver,"");
//            return ;
//         }
//        try {
//            driver.findElement(By.xpath("//*[@id=\"root\"]/div/div[5]/div[1]/div/div/div/div[1]/div/ul/li[9]")).click();
//            driver.findElement(By.xpath("//*[@id=\"root\"]/div/div[5]/div[1]/div/div/div/div[1]/div/ul/li[9]/div[2]/ul/li[4]/div")).click();
//            Thread.sleep(2000);//有用别删
//            driver.findElement(By.xpath("//*[@id=\"root\"]/div/div[5]/div[1]/div/div/div/div[1]/div/ul/li[8]")).click();
//            Thread.sleep(1500);//有用别删 第二次点击历史，获取历史列表信息
//            JavascriptExecutor js = (JavascriptExecutor) driver;
//            for (int i = 0; i <1; i++) {
//                js.executeScript("document.documentElement.scrollTop=10000");
//                Thread.sleep(1500);//有用别删
//            }
//            js.executeScript("document.documentElement.scrollTop=0");
//            js.executeScript("document.documentElement.scrollTop=340");
//
//            //获取列表
//            WebDriverWait waitcard = new WebDriverWait(driver, Duration.ofSeconds(10));
//            waitcard.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(".feed-card-wrapper")));
//            List<WebElement> elementAll = driver.findElements(By.cssSelector(".feed-card-wrapper"));
//
//            Thread.sleep(3000);//有用，别删，否则element123获取不到数据
//            elementAll.forEach(webElement -> {
//                String htmlContent=null,titleStr="";
////                List<WebElement> templist = webElement.findElements(By.cssSelector(".title"));
////                System.out.println(templist.size());
//                WebElement detailsElement=null;
//                try {
//                    //普通文章
//                    detailsElement = webElement.findElement(By.cssSelector(".title"));
//                    titleStr = detailsElement.getText();
//                } catch (NoSuchElementException e) {
//                    System.out.println("NoSuchElementException↓↓↓↓");
//                    System.out.println(e.getMessage());
//                }
//                if(detailsElement == null ){
//                    //获取只有文章的小说类型 文章信息,这个获取的是文章里的 配图
//                    detailsElement = webElement.findElement(By.cssSelector(".feed-card-cover"));
//                }
//                if(detailsElement == null){
//                    return;
//                }
//                //点击进入详情
//                detailsElement.click();
//
//                Set<String> allWindows = driver.getWindowHandles();
//                Iterator<String> iterator = allWindows.iterator();
//                String parentWindow = iterator.next(); // 父窗口句柄
//                String newWindow = iterator.next(); // 新窗口句柄
//                driver.switchTo().window(newWindow);
//
//                detailsPage(driver,titleStr);
//
//
//                //关闭当前详情链接，进入下一个 详情
//                driver.close();
//                driver.switchTo().window(parentWindow);
//                try {
//                    System.out.println("driver.getCurrentUrl()");
//                    System.out.println(driver.getCurrentUrl());
//                    Thread.sleep(500);
//                    ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", webElement);
//                } catch (InterruptedException e) {
//                    throw new RuntimeException(e);
//                }
//            });
//
//        } catch (Exception e) {
//            e.printStackTrace();
//        } finally {
//            Thread.sleep(30000);
//            driver.quit();
//        }
//    }
//
//
//}
